package dao;

import java.util.*;


import bean.Proveedor;
import Interface.*;
import Utiles.MySqlDBConexion;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class MySqlProveedorDAO implements ProveedorDAO {



	@Override
	public int RegistrarProveedor(Proveedor obj) {
		int resultado =0;
		   Connection cn= MySqlDBConexion.getConexion();
		try {
			String sql = "insert into proveedor values (?,?,?,?,?,?,?,?)";
			PreparedStatement ps;
				ps = cn.prepareStatement(sql);
				ps.setString(1, obj.getRuc());
				ps.setString(2, obj.getRazSoc());
				ps.setString(3, obj.getDireccion());
				ps.setString(4, obj.getNomCont());
				ps.setString(5, obj.getTelefono());
				ps.setString(6,obj.getCorreo());
				ps.setString(7, obj.getCargo());
				ps.setString(8, obj.getEstado());
				resultado=ps.executeUpdate();
				
			    cn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
	   return resultado;	    
	}
	
	
	@Override
	public int ActualizarProveedor(Proveedor obj) {
		int resultado =0;
		   Connection cn= MySqlDBConexion.getConexion();
		try {
			String sql = "update proveedor set RAZONSOCIAL=?, DIRECCION=?, REPRESENTANTE=?, TELEFONO=?, CORREO=?, CARGO=?, ESTADO=? where RUC=?";
			PreparedStatement ps;
				ps = cn.prepareStatement(sql);
				ps.setString(1, obj.getRazSoc());
				ps.setString(2, obj.getDireccion());
				ps.setString(3, obj.getNomCont());
				ps.setString(4, obj.getTelefono());
				ps.setString(5,obj.getCorreo());
				ps.setString(6, obj.getCargo());
				ps.setString(7, obj.getEstado());
				ps.setString(8, obj.getRuc());
				resultado=ps.executeUpdate();
				
			    cn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
	   return resultado;
	}
	
	

	@Override
	public void EliminarProveedor(Proveedor obj) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public List<Proveedor> ListarProveedor(Proveedor obj) {
		
		List <Proveedor> listProv= new ArrayList<Proveedor>();
		Connection cn = MySqlDBConexion.getConexion();
		try {
			String sentencia = "select * from Proveedor where RAZONSOCIAL = ?";
			PreparedStatement ps= cn.prepareStatement(sentencia);
			ps.setString(1,obj.getRazSoc());
			ResultSet rs = ps.executeQuery();
			
			while (rs.next()){
				Proveedor objProv = new Proveedor(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6), rs.getString(7), rs.getString(8));
			    listProv.add(objProv);
			}
			System.out.println("Proveedores listado satisfactoriamente");
			cn.close();
			
		}catch(SQLException s){
			s.printStackTrace();
		} 
		catch (Exception e) {
			e.printStackTrace();
		}
		
		return listProv;
	}
	
	
	@Override
	public Proveedor BuscarProveedor(Proveedor obj) {
		// TODO Auto-generated method stub
		return null;
	}


	
	
	
	
	

}















